The present invention relates to the field of generic data management and data generation and more particularly to the generation of business model data for use in data generation.
Modern business applications incorporate complicated database schemas and business logic. The business logic of a business application generates, manipulates, and transforms business data which can represent individual business objects of the business application. To manage business data, a user must have strong knowledge of the database schema that defines the table structure and relationships between data in the table, as well as the business logic that defines the structure and relationship of the business objects.
Database management systems tools have been developed which can understand database schemas and which can manage business data accordingly. However, conventional data management tools can manipulate the data elements of a database schema by tables, rows and columns rather than as business objects. Data management tools alternatively have been developed which use the business application itself to manage the underlying business data. In the former circumstance, a data manager must enjoy a familiarity with the database schema for the application without regard for the business objects of the business application. In the latter circumstance, the data manager must enjoy a familiarity with data at the business object level without also enjoying a familiarity with the database schema
Every business application has its own implementation and style. In consequence, the data manager for the business application must learn the business application and the underlying logic in order to manipulate the business data. Yet, many business applications provide only limited functionality with which the data manager can manage the business data. For instance, a business application typically can provide the view of business data, but the view often does not permit the data manager to modify the business data. In fact, many business applications do not provide a data management capability at all.
As a special case of data management, testing business applications can often require the creation and management of a set of test business data. The creation of a set of test business data, however, can be complicated by the difficulty in managing business data. Generally, sets of test data are created either through the tedious hand coding of database access instructions such as SQL statements, or through the resource intensive use of the limited data management functions of the business application itself. While tools have been developed to automate the creation of test sets of business data, automating the creation of test data involves strictly the creation of arbitrary data without regard for the business objects of the business application. In this regard, automated tools cannot create deterministic sets of data based upon business rules for the business application.